package co.edu.uniandes.sd.interfaz;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.BorderFactory;
import javax.swing.border.TitledBorder;
import java.awt.Font;
import java.awt.Color;
import java.awt.Rectangle;
import java.awt.Dimension;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;

public class PanelAgregarArchivo extends JPanel implements ActionListener
{

    private static final String ENVIAR = "Enviar";

   
    private JTextField txtRuta = null;
    private JButton btnEnviar = null;
    private JLabel labelRuta = null;
   
    private InterfazCliente interfazCliente;
    private JTextField txtIdentificador;
    private JTextArea textArea;

    /**
     * This is the default constructor
     */
    public PanelAgregarArchivo( InterfazCliente i )
    {
        super( );
        interfazCliente = i;
        initialize( );
    }

    /**
     * This method initializes this
     * 
     * @return void
     */
    private void initialize( )
    {
        labelRuta = new JLabel( );
        labelRuta.setBounds( new Rectangle( 14, 23, 109, 19 ) );
        labelRuta.setText( "Ruta Absoluta:" );
        this.setSize( 505, 259 );
        setLayout( null );
        this.setBorder( BorderFactory.createTitledBorder( null, "Informacion Archivo", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font( "Dialog", Font.BOLD, 12 ), new Color( 51, 51, 51 ) ) );
        this.add( getTxtRuta( ), null );
        this.add( getBtnEnviar( ), null );
        this.add( labelRuta, null );
        
        JLabel lblIdentificador = new JLabel("Identificador:");
        lblIdentificador.setBounds(14, 66, 81, 14);
        add(lblIdentificador);
        
        
        add(getTxtIdentificador());
        
        JLabel lblPalabrasClave = new JLabel("Palabras Clave:");
        lblPalabrasClave.setBounds(14, 105, 81, 14);
        add(lblPalabrasClave);
        
        textArea = new JTextArea();
        textArea.setBounds(0, 0, 140, 53);
        
        
        JScrollPane scrollPane = new JScrollPane(textArea);
        scrollPane.setBounds(120, 105, 323, 75);
        add(scrollPane);
        
        
    }

    
    /**
     * This method initializes txtRuta
     * 
     * @return javax.swing.JTextField
     */
    private JTextField getTxtRuta( )
    {
        if( txtRuta == null )
        {
            txtRuta = new JTextField( );
            txtRuta.setBounds( new Rectangle( 120, 23, 211, 19 ) );
            txtRuta.setEditable(false);
        }
        return txtRuta;
    }
    
    private JTextField getTxtIdentificador( )
    {
        if( txtIdentificador == null )
        {
        	txtIdentificador = new JTextField();
            txtIdentificador.setBounds(120, 63, 140, 20);
            txtIdentificador.setColumns(10);
        }
        return txtIdentificador;
    }

    /**
     * This method initializes btnEnviar
     * 
     * @return javax.swing.JButton
     */
    private JButton getBtnEnviar( )
    {
        if( btnEnviar == null )
        {
            btnEnviar = new JButton( );
            btnEnviar.setBounds( new Rectangle(203, 204, 103, 19) );
            btnEnviar.setText( "Agregar" );
            btnEnviar.setActionCommand( ENVIAR );
            btnEnviar.addActionListener( this );
        }
        return btnEnviar;
    }

    public void actionPerformed( ActionEvent e )
    {
        if( e.getActionCommand( ).equals( ENVIAR ) )
        {
            interfazCliente.agregarArchivo(getTxtRuta().getText(), getTxtIdentificador().getText(), textArea.getText());
        }
    }

    public void actualizarPath( String arg0 )
    {
        getTxtRuta( ).setText( arg0 );
    }
} // @jve:decl-index=0:visual-constraint="179,57"
